Skip to content

[Feature] Add GPT-6 Astra built-in support - #3561

Open
Xunzhuo wants to merge 2 commits into
mainfrom
xunzhuo/gpt-6-astra-day0
Open

[Feature] Add GPT-6 Astra built-in support#3561
Xunzhuo wants to merge 2 commits into
mainfrom
xunzhuo/gpt-6-astra-day0

Conversation

@Xunzhuo

@Xunzhuo Xunzhuo commented Sep 8, 2026

Copy link
Copy Markdown
Member

Related #2358

Purpose

Add GPT-6 Astra as a built-in OpenAI model and make this change a complete,
copyable model-onboarding reference for future contributors.

  • Adds the intrinsic model card, OpenAI Chat/Responses binding, pricing,
    long-context pricing tiers, unsupported request fields, always-on reasoning
    family, and five official launch evaluation records.
  • Models the protocol difference explicitly: Chat supports low through
    xhigh, while Responses additionally supports max. The new
    reasoning_efforts_by_protocol field can only narrow a model binding's
    validated global effort set.
  • Rejects unsupported Astra reasoning configurations during startup and proves
    the final provider-native Chat and Responses request shapes in unit tests.
  • Adds a black-box E2E case to the default response-api profile. It verifies
    the native model ID, Chat reasoning_effort, Responses
    reasoning.effort, the Responses-only max level, removal of competing
    shapes, and tool preservation at the provider boundary.
  • Expands the Day-0 guide with the source packet, exact files to change,
    minimal user YAML, evidence rules, generated artifacts, current
    impact/check/verify commands, and the named E2E command.
  • Regenerates the Router, CLI, built-in recipe, Dashboard, and website catalog
    projections from the authored resources.

Authoritative sources:

Test Plan

make model-catalog-check
make impact ENV=cpu BASE_REF=upstream/main
make check BASE_REF=upstream/main
make verify PROFILE=response-api
make e2e-test-specific \
  E2E_PROFILE=response-api \
  E2E_TESTS=model-catalog-astra

Test Result

  • model-catalog-check: passed, 57 tests.
  • make check: passed, including pre-commit, security and architecture checks,
    the complete Semantic Router suite, CLI tests (49 total; 40 passed and 9
    expected skips), Dashboard lint/typecheck/frontend tests (184 files, 858
    tests), Dashboard backend tests, 50 recipe conformance tests, and E2E binary
    build.
  • model-catalog-astra: passed 1/1 in a clean Kubernetes environment
    through Envoy, ExtProc, and the local provider simulator.
  • The complete E2E Go module passed from an exact checkout of rebased head
    d78d7be1fbc8868126bc769f6bf291a43acebf89; the GitHub PR Gate is
    running for this head and will be recorded here when it completes.
  • No external OpenAI request or credential is required by the E2E fixture.

Semantic Router PR Checklist
  • PR title begins with exactly one bracketed category, such as [Feature], [Bug], [Docs], [Test], [Research], [Community], or [CI/Build]
  • The title does not stack prefixes such as [Router][Docs]; affected modules belong in labels and the PR body
  • The PR links an accepted issue with exactly one owner: one wg/* label for project work or owner/maintainers for repository governance
  • Commits in this PR are signed off with git commit -s
  • The Purpose, Test Plan, and Test Result sections reflect the actual scope, commands, and blockers for this change

See CONTRIBUTING.md for the full contributor workflow and commit guidance.

Copilot AI lite review requested due to automatic review settings September 8, 2026 00:51
@netlify

netlify Bot commented Sep 8, 2026

Copy link
Copy Markdown

Deploy Preview for vllm-semantic-router ready!

Name Link
🔨 Latest commit d78d7be
🔍 Latest deploy log https://app.netlify.com/projects/vllm-semantic-router/deploys/6a9f726be1b77d00084b6e85
😎 Deploy Preview https://deploy-preview-3561--vllm-semantic-router.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions Bot added pr/needs-review Ready for reviewer attention. wg/data-plane-networking Owned by the Data Plane and Networking Workgroup. labels Sep 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The Day-0 guide’s make impact ... CHANGED_FILES=... example references a non-existent path, so the copy/paste instructions are currently incorrect.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR adds Day-0 built-in support for the OpenAI GPT-6 Astra model across the router’s catalog pipeline (authored resources → validation → generated projections), including protocol-specific reasoning-effort narrowing (Chat vs Responses) and corresponding unit + E2E coverage.

Changes:

  • Introduces GPT-6 Astra model card, OpenAI provider binding (pricing + restrictions), reasoning family, and 5 official launch evaluation records.
  • Adds reasoning_efforts_by_protocol to express per-protocol effort narrowing, plus validation and runtime materialization support.
  • Adds/extends contract tests and an E2E test case in the default response-api profile to assert provider-native request shapes.
File summaries
File Description
website/static/model-catalog/catalog.json Updates website model catalog snapshot to include GPT-6 Astra data and evaluation slots.
website/src/data/modelHubCatalogTypes.ts Extends website binding types to include reasoning modes/efforts and per-protocol effort overrides.
website/docs/proposals/unified-model-catalog-and-evaluation-index.md Updates proposal text/counts and documents the per-protocol effort narrowing concept.
website/docs/community/model-provider-day-0-support.md Adds a worked Day-0 Astra example and updates generation/validation guidance.
tools/catalog/tests/test_generate_model_catalog.py Adds catalog-generation assertions for Astra’s full authored contract and inventory inclusion.
tools/catalog/tests/test_generate_model_catalog_validation.py Adds validation tests for protocol-scoped restrictions and reasoning_efforts_by_protocol.
tools/catalog/catalog_validation.py Implements validation for reasoning_efforts_by_protocol and protocol-scoped API restrictions.
src/vllm-sr/cli/model_assets/latest/catalog.yaml Regenerates CLI embedded catalog assets to include Astra.
src/semantic-router/pkg/extproc/provider_request_catalog_contract_test.go Adds request-shape wire contract tests for Astra Chat vs Responses.
src/semantic-router/pkg/config/canonical_router_replay_test.go Adds config materialization tests to assert Astra reasoning constraints and startup rejection behavior.
src/semantic-router/pkg/config/canonical_catalog.go Applies reasoning_efforts_by_protocol when materializing provider profiles.
src/semantic-router/pkg/catalog/zz_generated_catalog.go Regenerates router embedded catalog JSON and digest.
src/semantic-router/pkg/catalog/types.go Adds ReasoningEffortsByProtocol to the Go catalog binding type.
src/semantic-router/pkg/catalog/registry.go Ensures provider/model binding cloning deep-copies the new map field.
src/semantic-router/pkg/catalog/compiler_model_provider.go Deep-copies ReasoningEffortsByProtocol when returning catalog bindings.
e2e/testcases/model_catalog_astra_day0.go Adds black-box E2E test asserting provider-native request shapes for Astra across protocols.
e2e/profiles/response-api/values.yaml Adds Astra aliases to the response-api profile and injects fixture OpenAI API key env var.
e2e/profiles/response-api/profile.go Includes the Astra Day-0 test case in the default response-api profile list.
dashboard/frontend/src/types/modelCatalog.ts Extends dashboard model catalog binding types to include reasoning_efforts_by_protocol.
dashboard/frontend/src/generated/modelCatalog.json Regenerates dashboard catalog snapshot including Astra.
dashboard/backend/handlers/model_catalog_test.go Updates dashboard catalog contract test counts for added model/evaluations.
config/recipes/built-in/latest/catalog.yaml Regenerates built-in recipe catalog projection to include Astra resources.
config/catalog/schemas/catalog-resources-v1.schema.json Adds schema support for reasoning_efforts_by_protocol.
config/catalog/resources/reasoning-families.yaml Adds the gpt-6-astra reasoning family (levels + enabled-only mode).
config/catalog/resources/providers/openai.yaml Adds Astra provider binding (protocols, pricing, restrictions, per-protocol effort narrowing).
config/catalog/resources/models/single/openai.yaml Adds the GPT-6 Astra physical model card.
config/catalog/resources/evaluations/single/openai.yaml Adds 5 official launch evaluation records for Astra with evidence provenance.
config/catalog/README.md Updates baseline physical model count to reflect Astra addition.
config/catalog/catalog.yaml Updates curated OpenAI representative models to include Astra.
Review details
  • Files reviewed: 26/29 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread website/docs/community/model-provider-day-0-support.md Outdated
@Xunzhuo
Xunzhuo force-pushed the xunzhuo/gpt-6-astra-day0 branch 2 times, most recently from cf25087 to e5b7e04 Compare September 8, 2026 01:21
Signed-off-by: Xunzhuo Liu <xunzhuo.liu@amd.com>
@Xunzhuo
Xunzhuo force-pushed the xunzhuo/gpt-6-astra-day0 branch from e5b7e04 to 4f3f27d Compare September 8, 2026 01:35
@Xunzhuo Xunzhuo changed the title [Feature] Add GPT-6 Astra Day-0 support [Feature] Add GPT-6 Astra built-in support Sep 8, 2026
Signed-off-by: Xunzhuo Liu <xunzhuo.liu@amd.com>
| 'deepseek_thinking'
reasoning_modes?: Array<'enabled' | 'disabled' | 'adaptive'>
reasoning_efforts?: string[]
reasoning_efforts_by_protocol?: Record<string, string[]>

@nanasis nanasis Sep 8, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to update these files since they are related to modelCatalog?

  1. catalogReasoningConstraints
  2. validCatalogReasoningBindingValues
  3. isCatalogModelBinding

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr/needs-review Ready for reviewer attention. wg/data-plane-networking Owned by the Data Plane and Networking Workgroup.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants